[Chapter 2] 2.6 Options
Author: Bryan Costales & Eric Allman
Date: 1999-02-04T00:04:19Z

#

| Chapter 2 The sendmail.cf File |

## 2.6 Options

Options determine most of the sendmail program's behavior. They are declared on the command line with the -O switch:

>     -Oname=value

and in the configuration file with the O line:

>     O name=value

The space following the O is mandatory. Prior to V8.7 sendmail, option names could be only a single character. Beginning with V8.7, option names can be multi-character. Where appropriate, the old form is listed parenthetically after the new form.

True/False options, when absent, default to false, but when present with no value, default to true. Options marked as "(safe)" can be specified on the command line without giving up root privileges.

AliasFile=file[,file, ...]

  Defines the location (and optionally the type as type:file) of the aliases file or files. (Was the A option, see §34.8.1, or define `ALIAS_FILE` with the m4 technique.)

AliasWait=interval

  Specifies the interval sendmail will wait for the aliases database to rebuild. (Was the a option, see §34.8.2, or define `confALIAS_WAIT` with the m4 technique.)

AllowBogusHELO=[True|False]

  (safe) allows sendmail to accept an SMTP HELO or EHLO that is not followed by a hostname (see §34.8.3).

AutoRebuildAliases=[True|False]

  Allows sendmail to automatically rebuild the aliases database. (Was the D option, see §34.8.4, or define `confAUTO_REBUILD` with the m4 technique.)

BlankSub=char

  Specifies the unquoted space replacement character char. (Was the B option, see §34.8.5, or define `confBLANK_SUB` with the m4 technique.)

CheckAliases=[True|False]

  (safe) tells sendmail to check the right side of aliases in the aliases file in addition to the normal left side checks. (Was the n option, see §34.8.6, or define `confCHECK_ALIASES` with the m4 technique.)

CheckpointInterval=number

  (safe) states the number of recipients that will be delivered between checkpoints (flushes to disk) of the qf file. (Was the C option, see §34.8.7, or define `confCHECKPOINT_INTERVAL` with the m4 technique.)

ClassFactor=factor

  Sets the multiplication factor for calculating priority increments. (Was the z option, see §34.8.8, or define `confWORK_CLASS_FACTOR` with the m4 technique.)

ColonOkInAddr=[True|False]

  (safe) tells sendmail to allow colons in addresses, thus disabling recognition of `:;` list addresses - DECnet `::` is always allowed (see §34.8.9, or define `confCOLON_OK_IN_ADDR` with the m4 technique).

ConnectionCacheSize=number

  Stipulates the number of simultaneous open SMTP connections sendmail will maintain during delivery. (Was the k option, see §34.8.10, or define `confMCI_CACHE_SIZE` with the m4 technique.)

ConnectionCacheTimeout=duration

  Stipulates the duration of time any given open, but when idle, SMTP connection will be maintained. (Was the K option, see §34.8.11, or define `confMCI_CACHE_ TIMEOUT` with the m4 technique.)

ConnectionRateThrottle=number

  Specifies the maximum number of incoming connections that will be accepted per second. Additional connections are accepted progressively more slowly (see §34.8.12, or define `confCONNECTION_ RATE_THROTTLE` with the m4 technique).

DaemonPortOptions=option=value[,option=value,...]

  Sets the daemon TCP/IP port options. Available options are: `Addr` is the network to accept connections from; `Family` is the type of network; `Listen` is the size of the listen(2) queue; `Port` is the port on which sendmail should listen; `ReceiveSize` is the size of the TCP/IP receive buffer; and `SendSize` is the size of the TCP/IP send buffer. (Was the O option, see §34.8.13, or define `confDAEMON_ OPTIONS` with the m4 technique.)

DefaultCharSet=set

  (safe) Defines the character set that will be listed in the `Content-Type:` header, for MIME 8- to 7-bit conversion (see §34.8.14, or define `confDEF_CHAR_ SET` with the m4 technique).

DefaultUser=user[:group]

  Specifies the default non-root identity for sendmail. The user may be a numeric uid or a login name. If group is omitted, user is looked up in the passwd(5) database, and that gid is used. Otherwise, group may be a numeric gid or a group name. (Was the u and g options, see §34.8.15, or define `confDEF_ USER_ID` with the m4 technique.)

DeliveryMode=mode

  (safe) sets the delivery mode that sendmail will run as. Select mode from: `background` to run asynchronously; `interactive` to run synchronously; `queue-only` to queue, rather than deliver, all mail; or `deferred` to queue all mail without doing any DNS lookups. (Was the d option, see §34.8.16, or define `confDELIVERY_MODE` with the m4 technique.)

DialDelay=interval

  (safe) specifies how long to sleep after a connection failure. If non-zero, sleeps that interval then tries again (see §34.8.17, or define `confDIAL_DELAY` with the m4 technique).

DontExpandCnames=[True|False]

  Prevents CNAME expansion when looking up MX records (see §34.8.18, or define `confDONT_ EXPAND_CNAMES` with the m4 technique).

DontInitGroups=[True|False]

  Suppresses use of the initgroups(3) call to look up additional group memberships (see §34.8.19, or define `confDONT_INIT_GROUPS` with the m4 technique).

DontPruneRoutes=[True|False]

  Prevents sendmail from short-circuiting source routes. (Was the R option, see §34.8.20, or define `confDONT_PRUNE_ROUTES` with the m4 technique.)

DoubleBounceAddress=address

  Specifies the address to which an error message should be sent if there is an error sending an error message (see §34.8.21, or define `confDOUBLE_BOUNCE_ADDRESS` with the m4 technique).

EightBitMode=how

  (safe) specifies how to convert unlabeled MIME input. Select from: `mimify` to force conversion of 8BITMIME to 7-bit; `pass` to pass unlabeled 8-bit input through as-is; or `strict` to reject unlabeled 8-bit input. (Was the 8 option, see §34.8.22, or define `confEIGHT_BIT_HANDLING` with the m4 technique.)

ErrorHeader=description

  (safe) specifies text or a file's contents to insert at the top of bounced messages. If the description starts with a slash, it is taken as the full pathname of a file, otherwise the description is taken as literal text. The text is macro-expanded during interpolation. (Was the E option, see §34.8.23, or define `confERROR_MESSAGE` with the m4 technique.)

ErrorMode=mode

  (safe) specify mode of error handling. Select from: `m` to mail error notification to the sender no matter what; `e` to act just like `m`, but to always exit with a zero exit status; `p` to print error messages (the default); `q` to remain silent about all delivery errors; or `w` to write errors to the sender's terminal screen. (Was the e option, see §34.8.24, or define `confERROR_ MODE` with the m4 technique.)

FallbackMXhost=host

  Specifies the host to send mail to when all connections to the actual MX hosts have failed. (Was the V option, see §34.8.25, or define `confFALLBACK_MX` with the m4 technique.)

ForkEachJob=[True|False]

  Causes queue files to be processed individually to lessen the impact on small-memory machines. (Was the Y option, see §34.8.26, or define `confSEPARATE_PROC` with the m4 technique.)

ForwardPath=file[:file:...]

  Sets the ~/.forward search path. Each file name is macro-expanded, then tried. Each is tried in turn until one can be read, whereupon it is the ~/.forward for that local recipient. (Was the J option, see §34.8.27, or define `confFORWARD_PATH` with the m4 technique.)

HelpFile=file

  Specifies the location of the file that contains help messages for the SMTP (and ESMTP) HELP command, and usage for the -bt rule-testing command. (Was the H option, see §34.8.28, or define `HELP_FILE` with the m4 technique.)

HoldExpensive=[True|False]

  Tells sendmail to queue rather than deliver messages that will be delivered by "expensive" delivery agents (those with an F=e flag set). (Was the c option, see §34.8.29, or define `confCON_ EXPENSIVE` with the m4 technique.)

HostsFile=file

  Specifies an alternative for the /etc/hosts file (see §34.8.30, or define `confHOSTS_FILE` with the m4 technique).

HostStatusDirectory=directory

  Specifies the directory in which sendmail should store persistent host status. If specified, this also enables the keeping of that status. A relative name is relative to the queue directory (see §34.8.31, or define `confHOST_STATUS_DIRECTORY` with the m4 technique).

IgnoreDots=[True|False]

  (safe) tells sendmail to ignore leading dots in the message body. (Was the i option, see §34.8.32, or define `confIGNORE_DOTS` with the m4 technique.)

LogLevel=level

  (safe) sets the logging level, where a level of: `0-6` logs progressively less serious problems; `7` logs delivery failures; `8` logs delivery successes; `9` logs deferred delivery; `10-11` logs database and nis lookups; `12` logs SMTP connects; `13` logs questionable permissions; `14` logs connection refusals; `15` logs all incoming and outgoing SMTP commands; and `16-98` logs progressively more detailed debugging information. On the command line, you can only increase the logging level. (Was the L option, see §34.8.33, or define `confLOG_LEVEL` with the m4 technique.)

MatchGECOS=[True|False]

  Enables so called "Fuzzy" matching of the recipient in the gecos field of the passwd(5) database. (Was the G option, see §34.8.34, or define `confMATCH_ GECOS` with the m4 technique.)

MaxDaemonChildren=number

  Specifies maximum number of children that sendmail will fork to process inbound connections. Does not limit forked children that process the queue (see §34.8.35, or define `confMAX_DAEMON_CHILDREN` with the m4 technique).

MaxHopCount=number

  Sets the maximum number of times a message may be relayed through mail-handling sites (the maximum hop count). (Was the h option, see §34.8.36, or define `confMAX_HOP` with the m4 technique.)

MaxMessageSize=size

  Specifies the maximum size (in bytes) of an incoming message that sendmail will accept (see §34.8.37, or define `confMAX_MESSAGE_SIZE` with the m4 technique).

MaxQueueRunSize=number

  (safe) specifies the maximum number of queued messages that sendmail will process from a queue in a given queue run (see §34.8.38, or define `confMAX_QUEUE_RUN_SIZE` with the m4 technique).

MeToo=[True|False]

  (safe) causes a copy of the message to be sent to the sender too, when the sender is one of the recipients listed in an alias or mailing list. (Was the m option, see §34.8.39, or define `confME_TOO` with the m4 technique.)

MinFreeBlocks=number

  (safe) defines minimum number of free disk blocks that must be available when a message's size is stated with the SIZE keyword to the ESMTP MAIL command. (Was the b option, see §34.8.40, or define `confMIN_FREE_BLOCKS` with the m4 technique.)

MinQueueAge=interval

  (safe) skips processing of a queued file if the last time it was processed is sooner than the interval specified (see §34.8.41, or define `confMIN_ QUEUE_AGE` with the m4 technique).

MustQuoteChars=characters

  Allows sendmail to quote nonaddress characters in an address, as required by RFC822 (see §34.8.42).

NoRecipientAction=how

  (safe) specifies how to handle the situation of no recipients being specified in the header (as would be the case when all recipients were specified in `Bcc:` headers). Select from: `add-apparently-to`, which adds an `Apparently-To:` header; `add-bcc`, which adds an empty `Bcc:` header; `add-to`, which adds an empty `To:` header; `add-undisclosed`, which adds a `To: undisclosed-recipients:;` header; or `none`, which passes the message unchanged (see §34.8.43, or define `confNO_RCPT_ACTION` with the m4 technique).

OldStyleHeaders=[True|False]

  (safe) causes sendmail to insert commas between the recipients listed in a space-delimited list of recipients. (Was the o option, see §34.8.44, or define `confOLD_STYLE_HEADERS` with the m4 technique.)

OperatorChars=characters

  Sets token-separation operators to the list of characters given. (Was the $o macro, see §34.8.45, or define `confOPERATORS` with the m4 technique.)

PostmasterCopy=address

  Enables the user, whose email address is given, to receive an extra copy of every bounce message. (Was the P option, see §34.8.46, or define `confCOPY_ERRORS_TO` with the m4 technique.)

PrivacyOptions=option[,option,...]

  (safe) increases privacy and security of the daemon. Each option adds to earlier options. Select from: `authwarnings`, which enables `X-Authentication-Warning:` headers; `needexpnhelo`, which requires SMTP HELO before EXPN; `needmailhelo`, which requires SMTP HELO before MAIL; `needvrfyhelo`, which requires SMTP HELO before VRFY; `noexpn`, which disables all SMTP EXPN commands; `novrfy`, which disables all SMTP VRFY commands; and `goaway`, which enables all the preceding. Also select from: `public`, which means none of the preceding; `restrictmailq`, which restricts who may run mailq(1); `restrictqrun`, which restricts who may process the queue; and `noreceipts`, which disables sending of return-receipt mail. (Was the p option, see §34.8.47, or define `confPRIVACY_ FLAGS` with the m4 technique.)

QueueDirectory=pathname

  Specifies the full pathname of the queue directory. (Was the Q option, see §34.8.48, or define `QUEUE_DIR` with the m4 technique.)

QueueFactor=factor

  Sets the factor for high-load queuing. When a message is received, the decision to deliver or to queue it is based on the formula:

  >     priority > QueueFactor /
  >        (load - QueueLA + 1)

  If the priority of the message is greater than the result of this formula, where `load` is the current load average, the message is delivered. (Was the q option, see §34.8.49, or define `confQUEUE_FACTOR` with the m4 technique.)

QueueLA=load

  Specifies the load average above which queue runs will be skipped. This is also used in the formula shown above for QueueFactor. (Was the x option, see §34.8.50, or define `confQUEUE_LA` with the m4 technique.)

QueueSortOrder=how

  (safe) specifies how to presort the queue. Select from: `host` to sort by recipient host, lock status, and priority; `priority` for a simple sort of the message priorities; or `time` to sort based on submission time (see §34.8.51, or define `confQUEUE_ SORT_ORDER` with the m4 technique).

QueueTimeout=interval

  Limits the life of a queued message to the interval specified. The first delivery failure after that interval is exceeded causes the message to bounce. (Was the T option; deprecated, use the `Timeout.queuereturn` option instead.)

RecipientFactor=factor

  Penalizes large recipient lists by multiplying the number of recipients by this factor when determining a message's priority. (Was the y option, see §34.8.53, or define `confWORK_RECIPIENT_FACTOR` with the m4 technique.)

RefuseLA=load

  Tells sendmail to refuse incoming SMTP connections when the load average exceeds this specified load. (Was the X option, see §34.8.54, or define %`confREFUSE_LA` with the m4 technique.)

ResolverOptions=arg [arg ...]

  Tunes DNS lookups by specifying an arg, or args, such as: `+AAONLY`, which turns on the AAONLY name server option (Authoritative Answers Only); and `-DNSRCH`, which turns off the DNSRCH name server option (search the domain path). (Was the I option, see §34.8.55, or define `confBIND_OPTS` with the m4 technique.)

RetryFactor=increment

  Sets the amount to increment a job's priority each time a message fails to be delivered. (Was the Z option, see §34.8.56, or define `confWORK_ TIME_FACTOR` with the m4 technique.)

RunAsUser=user[:group]

  Runs sendmail as a user other than root. The user may be a numeric uid or a login name. If group is omitted, user is looked up in the passwd(5) database and the primary gid is used. Otherwise, group may be a numeric gid or a group name (see §34.8.57, or define `confRUN_AS_USER` with the m4 technique).

SafeFileEnvironment=pathname

  Sets the pathname to a directory that is safe for file writes. The sendmail program does a chroot(2) to that directory before writing to files. Also prevents writing to other than plain files, with the exception of /dev/null (see §34.8.58, or define `confSAFE_ FILE_ENV` with the m4 technique).

SaveFromLine=[True|False]

  Prevents sendmail from removing UNIX mailbox-style From lines from input. (Was the f option, see §34.8.59, or define `confSAVE_FROM_LINES` with the m4 technique.)

SendMimeErrors=[True|False]

  (safe) Tells sendmail it may return error messages (bounced mail notifications) in MIME format. (Was the j option, see §34.8.60, or define `confMIME_ FORMAT_ERRORS` with the m4 technique.)

ServiceSwitchFile=file

  Specifies the location of the switched-services file. Under Solaris, DEC OSF/1, and Ultrix, this option is ignored, and the system file automatically used. A switch-services file defines how and in what order services, such as alias, host, and user information, will be looked up (see §34.8.61, or define `confSERVICE_SWITCH_FILE` with the m4 technique).

SevenBitInput=[True|False]

  (safe) Forces sendmail to clear the high-bit of each byte of a message's body that it reads. (Was the 7 option, see §34.8.62, or define `confSEVEN_ BIT_INPUT` with the m4 technique.)

SingleLineFromHeader=[True|False]

  (safe) Tells sendmail to strip all newline characters from `From:` headers (see §34.8.63).

SingleThreadDelivery=[True|False]

  Ensures that only a single sendmail will ever be delivering to a given host at a given time. Requires that the `HostStatusDirectory` option be set (see §34.8.64, or define `confSINGLE_THREAD_ DELIVERY` with the m4 technique).

SmtpGreetingMessage=$j Sendmail $v ready at $b

  Specifies the SMTP greeting message. (Was the $e macro, see §34.8.65, or define `confSMTP_ LOGIN_MSG` with the m4 technique.)

StatusFile=file

  Specifies the location of the statistics file (usually sendmail.st preceded by an appropriate path). (Was the S option, see §34.8.66, or define `STATUS_FILE` with the m4 technique.)

SuperSafe=[True|False]

  (safe) Ensures additional reliability by forcing all messages to be queued, even if they could be directly delivered. (Was the s option, see §34.8.67, or define `confSAFE_QUEUE` with the m4 technique.)

TempFileMode=mode

  Sets the default permissions (in octal) for created temporary files. (Was the F option, see §34.8.68, or define `confTEMP_FILE_MODE` with the m4 technique.)

TimeZoneSpec=zone

  Sets the time zone to that specified. If zone is absent, imports the TZ variable from the environment. If the entire option is missing, the default is to unset the TZ environmental variable and use the system default. (Was the t option, see §34.8.69, or define `confTIME_ZONE` with the m4 technique.)

Timeout.event=interval

  Sets the timeout for an event to the interval specified. See the section "The Timeout Option" for details.

TryNullMXList=[True|False]

  Tells sendmail to connect directly to the A record for a host when the best MX record points to this host. (Was the w option, see §34.8.71, or define `confTRY_NULL_MX_LIST` with the m4 technique.)

UnixFromLine=format

  Defines the format for the UUCP-style `From` line. (Was the $l macro, see §34.8.72, or define `confFROM_LINE` with the m4 technique.)

UnsafeGroupWrites=[True|False]

  Tells sendmail to check group write permissions on files that it is taking addresses from, and to reject those files (and hence the addresses) when such group write permissions are found (see §34.8.73, or define `confUNSAFE_GROUP_WRITES` with the m4 technique).

UseErrorsTo=[True|False]

  (safe) Allows error notification to be sent to the address listed in the `Errors-To:` header in addition to that sent to the envelope sender. (Was the l option, see §34.8.74, or define `confUSE_ ERRORS_TO` with the m4 technique.)

UserDatabaseSpec=file

  Specifies the location of the database file that will be used for User Database lookups. (Was the U option, see §34.8.75, or define `confUSERDB_SPEC` with the m4 technique.)

Verbose=[True|False]

  (safe) Causes sendmail to run in verbose mode. (Was the v option, see §34.8.76.)

2.5 Class Macros |  | 2.7 The Timeout Option